#pragma once
#include <iostream>
#include <string>
#include <cerrno>
#include <cstring>
#include <cassert>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define NAMED_PIPE "./mypipe"
// 创建管道
bool createFifo(const std::string &path)
{
    umask(0);
    int n = mkfifo(path.c_str(), 0600); // 创建管道文件
    if (n == 0)
        return true;
    else
    {
        std::cout << "error:" << errno << "error string" << strerror(errno) << std::endl;
        return false;
    }
}
// 销毁管道
void destroyFifo(const std::string &path)
{
    int n = unlink(NAMED_PIPE);
    assert(n == 0);
    (void)n;
}